package com.yf.exam.modules.exam.ext.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yf.base.api.api.dto.PagingReqDTO;
import com.yf.exam.modules.exam.ext.dto.*;

/**
* <p>
* 监考业务实现类
* </p>
*
* @author 聪明笨狗
* @since 2020-07-25 16:18
*/
public interface ExamWatchService  {

    /**
     * 发送批量消息
     * @param examId
     * @param msg
     */
    void sendBatchMsg(String examId, String msg);

    /**
     * 发送单人消息
     * @param examId
     * @param userId
     * @param msg
     */
    void sendSingleMsg(String examId, String userId, String msg);

    /**
     * 查找监考统计信息
     * @param examId
     * @return
     */
    WatchStatRespDTO watchStat(String examId);


    /**
     * 监考列表
     * @param reqDTO
     * @return
     */
    IPage<WatchUserRespDTO> watchPaging(PagingReqDTO<WatchUserReqDTO> reqDTO);


    /**
     * 已交卷列表
     * @param reqDTO
     * @return
     */
    IPage<WatchPaperRespDTO> handPaging(PagingReqDTO<WatchPaperReqDTO> reqDTO);


    /**
     * 强制交卷
     * @param paperId
     * @param message
     */
    void forceHand(String paperId, String message);
}
